The invention relates generally to a method for a software discovery process. The invention relates further to a software discovery system, and a computer program product.
Modern data centers are advantageously managed using system management software or software asset management systems. Otherwise, the required work for system operators managing complex IT environments is hardly achievable. These software asset management systems may need comprehensive data about installed software of the computing systems under control in order to comply with enterprise licenses agreements, compliance rules and/or other enterprise regulations.
However, there may be circumstances that lead to a mismatch between software products that may be registered in a software directory, e.g. a registry, and software that is actually installed and used on a given computing system or peripheral device. In order to properly manage the computing systems, due to compliance rules, and in order to manage user licenses according to contractual agreements, it may be required to have a clear understanding about supposedly installed software and actually installed software on a given computing system and/or a data center landscape.
Normally, generating a complete overview on all installed software components in complex IT environments is a heavy burden for the underlying IT systems, i.e., hardware, operating systems and middleware. In some cases also application software may also be affected by performance degradation due to an automatic software discovery process running as a background task. System managers try to optimize the task of software discovery, however, often times with limited success.
Several approaches have been used and some experimentation goes on to map discovered software to tracked software in software catalogs. None of these methods and systems is perfect or guarantees 100% recognition in either way: discovered software vs. registered software or registered software vs. discovered software. There are always mismatches that require a labor intensive manual compare and match process, and a focus on the most important software components is currently not really possible because software discovery systems handle each component in the same way.